@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM 手动匹配功能测试脚本 (Windows版本)
REM 需要先启动服务器并获取管理员token

set BASE_URL=http://localhost:8080/api/v1
set ADMIN_TOKEN=

echo === 手动匹配功能测试 ===

REM 检查服务器是否运行
echo 检查服务器状态...
curl -s "%BASE_URL%/health" >nul 2>&1
if errorlevel 1 (
    echo 错误: 服务器未运行，请先启动服务器
    pause
    exit /b 1
)

echo 服务器运行正常

REM 获取管理员token（需要手动设置）
if "%ADMIN_TOKEN%"=="" (
    echo 请先设置ADMIN_TOKEN环境变量
    echo 例如: set ADMIN_TOKEN=your_jwt_token_here
    pause
    exit /b 1
)

REM 测试1: 获取所有匹配记录
echo.
echo 测试1: 获取所有匹配记录
curl -s -H "Authorization: Bearer %ADMIN_TOKEN%" "%BASE_URL%/admin/matches?page=1&size=10"

REM 测试2: 获取匹配候选者（学生）
echo.
echo 测试2: 获取课题1的学生匹配候选者
curl -s -H "Authorization: Bearer %ADMIN_TOKEN%" "%BASE_URL%/admin/matches/candidates?project_id=1&role=student"

REM 测试3: 获取匹配候选者（导师）
echo.
echo 测试3: 获取课题1的导师匹配候选者
curl -s -H "Authorization: Bearer %ADMIN_TOKEN%" "%BASE_URL%/admin/matches/candidates?project_id=1&role=tutor"

REM 测试4: 获取用户2的课题候选者
echo.
echo 测试4: 获取用户2的课题候选者
curl -s -H "Authorization: Bearer %ADMIN_TOKEN%" "%BASE_URL%/admin/matches/project-candidates?user_id=2"

REM 测试5: 手动匹配（需要有效的project_id和user_id）
echo.
echo 测试5: 手动匹配（示例）
echo 注意: 需要有效的project_id和user_id

echo { > temp_request.json
echo   "project_id": 1, >> temp_request.json
echo   "user_id": 2, >> temp_request.json
echo   "match_score": 85.5, >> temp_request.json
echo   "note": "根据技能匹配度推荐" >> temp_request.json
echo } >> temp_request.json

curl -s -X POST -H "Authorization: Bearer %ADMIN_TOKEN%" -H "Content-Type: application/json" -d @temp_request.json "%BASE_URL%/admin/matches"

del temp_request.json

echo.
echo 测试完成！
echo 注意: 某些测试可能需要数据库中有相应的数据
pause

